<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Admin_model extends CI_Model {

    public $table = 'staff';

    function __construct() {
        parent::__construct();
    }

    // Se connecter
    function login($email, $password) {
        $this->db->where('staff.staff_email', $email);
        $this->db->where('staff.staff_pass', sha1($password));
        $this->db->join('staff_type t', 't.id_staff_type = staff.staff_type', 'left');
        $query = $this->db->get($this->table);

        if ($query->num_rows() > 0) {
            $row = $query->row();
            // On pourrait aussi ajouter dans la session un admin = true pour renforcer encore plus
            $session = array('email' => $row->staff_email, '$row->status' => $row->stf_type_label, 'status_id' => $row->id_staff_type, 'logged' => true); 
            $this->session->set_userdata($session); // On initialise la session
            return true;
        }
        return false;
    }

    // Fonction de test si connecté
    function is_logged() {
        return $this->session->userdata('status_id') && $this->session->userdata('logged');
    }

    // Récupérer un user avec permissions
    function get_admin($param) {        
        if (is_numeric($param)) { // Si c'est par son id
            $this->db->where('s.staff_id', $param); // On change la clause where
        } else { // Sinon 
            $this->db->where('s.staff_email', $param);
        }

        $q = $this->db->select('*')->from('staff s')
                // La clause where est directement ajouté via le code au dessus
                ->join('staff_type t', 's.staff_type = t.id_staff_type')
                ->get();
        if ($q->num_rows() > 0) {
            return $q->row();
        }
    }

}

?>
